import Vue from 'vue'
import Vuex from 'vuex'
import createPersistedState from 'vuex-persistedstate'
Vue.use(Vuex)

export default new Vuex.Store({
  state: {
    PostData: ''
  },
  // 更改 Vuex 的 store 中的状态的唯一方法是提交 mutation
  mutations: {
    sendPostData(state, payload) {
      state.PostData = payload.PostData
    },
    Addlike(state) {
      state.PostData.like += 1
    },
    Addcollection(state) {
      state.PostData.collections += 1
    },
    Delcollection(state) {
      state.PostData.collections = state.PostData.collections - 1
    }
  },
  // Vuex 允许我们在 store 中定义“getter”（可以认为是 store 的计算属性）。
  getters: {},
  // Action 类似于 mutation， 不同在于：
  // Action 提交的是 mutation， 而不是直接变更状态。
  // Action 可以包含任意异步操作。
  actions: {
    // Action 函数接受一个与 store 实例具有相同方法和属性的 context 对象，
  },
  modules: {},
  // 配置保存所有state到localStorage中
  plugins: [createPersistedState({ storage: window.localStorage })]
})
